home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- DWord DWORD001
- Integer INTEGER001
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING010
- String STRING011
- Word WORD001
- Word WORD002
- Word WORD003
- Word TWORD004(9)
- Word WORD005
- Word WORD006
- Word WORD007
- Word WORD008
- Word WORD009
- Word WORD010
- Word WORD012
- Declare Function FUNCTION001(String STRING009) String
- Declare Function FUNCTION002() String
- Declare Function FUNCTION003() Word
- Declare Procedure PROC001()
- Declare Procedure PROC002(String STRING008, Word WORD011)
- Declare Procedure PROC005()
- Declare Procedure PROC006(Word WORD014)
- Declare Procedure PROC007(Word WORD013)
- Declare Procedure PROC008()
- Declare Procedure PROC009()
-
- ;------------------------------------------------------------------------------
-
- STRING007 = PPEPath() + "GROUP.LOG"
- GetUser
- StartDisp 1
- Print "@POFF@"
- STRING001 = PPEPath() + "WORK\ORG.DAT"
- If (Exist(STRING001)) Goto LABEL001
- PROC008()
- End
- :LABEL001
- DispFile PPEPath() + "MONITOR", 0 + 4
- DWORD001 = Crc32(1, STRING001)
- WORD010 = 1
- AnsiPos 28, 7 + WORD010
- Print "@X09■"
- INTEGER001 = Time()
- AnsiPos 1, 23
- WORD005 = FileInf(STRING001, 4) / 2
- PROC001()
- For WORD002 = 1 To WORD005
- AnsiPos 25, 7 + WORD002
- If (WORD002 < 10) Then
- Print "@X0F", WORD002
- Else
- Print "@X0F" + "0"
- Endif
- AnsiPos 29, 7 + WORD002
- If (TWORD004(WORD002 - 1) <> 0) Then
- RdUNet TWORD004(WORD002 - 1)
- Print FUNCTION001(UN_Name())
- Continue
- Endif
- Print "-"
- Next
- WORD009 = 1
- AnsiPos 25, 19
- Print "@X1F" + ScrText(25, 19, 15, 0)
- AnsiPos 39, 19
- Print "@X0F" + ScrText(39, 19, 15, 0)
- AnsiPos 1, 23
- While (1) Do
- PROC009()
- STRING003 = Inkey()
- If ((STRING003 == "LEFT") || (STRING003 == "RIGHT")) Then
- If (WORD009 == 1) Then
- AnsiPos 25, 19
- Print "@X0F" + ScrText(25, 19, 14, 0)
- AnsiPos 39, 19
- Print "@X1F" + ScrText(39, 19, 14, 0)
- AnsiPos 1, 23
- WORD009 = 2
- Goto LABEL002
- Endif
- AnsiPos 25, 19
- Print "@X1F" + ScrText(25, 19, 14, 0)
- AnsiPos 39, 19
- Print "@X0F" + ScrText(39, 19, 14, 0)
- AnsiPos 1, 23
- WORD009 = 1
- :LABEL002
- Continue
- Endif
- If (STRING003 == Chr(13)) Then
- If (WORD009 == 1) Then
- PROC005()
- End
- Goto LABEL005
- Endif
- STRING005 = FUNCTION002()
- If (BOOLEAN002) Goto LABEL003
- PrintLn
- STRING005 = "/" + U_Name() + " : " + STRING005
- WORD002 = FUNCTION003()
- If (WORD002 <> 0) Then
- FAppend 7, STRING007, 1, 0
- FPutLn 7, PCBMac(" -*- @USER@ -------------------*>") + " (MONITOR.PPE) - PRIVATE TO #" + String(WORD002) + " :"
- FPutLn 7, STRING005
- FClose 7
- PROC002(STRING005, WORD002)
- STRING002 = ScrText(27, 7, 5, 1)
- AnsiPos 27, 7
- Print "@X8FSeNT!"
- AnsiPos 1, 23
- Delay 18
- AnsiPos 1, 22
- ClrEol
- AnsiPos 27, 7
- Print STRING002
- Goto LABEL004
- Endif
- :LABEL003
- AnsiPos 1, 22
- ClrEol
- :LABEL004
- AnsiPos 1, 23
- :LABEL005
- Continue
- Endif
- If (STRING003 == Chr(27)) Then
- PROC005()
- End
- Endif
- EndWhile
- End
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC001()
-
- WORD008 = 0
- FOpen 1, STRING001, 0, 3
- FSeek 1, 0, 0
- For WORD003 = 1 To WORD005
- FRead 1, WORD002, 2
- If (WORD002 <> 0) Then
- Inc WORD008
- If (WORD002 == PcbNode()) WORD001 = WORD003
- TWORD004(WORD003 - 1) = WORD002
- Continue
- Endif
- TWORD004(WORD003 - 1) = 0
- Next
- FClose 1
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC002(String STRING008, Word WORD011)
-
- WORD007 = WORD011
- If (WORD007 == 10) WORD007 = 0
- FCreate 1, PPEPath() + "WORK\PVT." + String(WORD007), 1, 0
- FPutLn 1, Left(STRING008, 80)
- FClose 1
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Function FUNCTION001(String STRING009) String
-
- STRING002 = Upper(STRING009)
- STRING002 = Replace(STRING002, "A", "a")
- STRING002 = Replace(STRING002, "E", "e")
- STRING002 = Replace(STRING002, "I", "i")
- STRING002 = Replace(STRING002, "O", "o")
- STRING002 = Replace(STRING002, "U", "u")
- FUNCTION001 = STRING002
-
- EndFunc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC005()
-
- Color 15
- Cls
- AnsiPos 33, 11
- Color 8
- Gosub LABEL006
- Color 7
- Gosub LABEL006
- Color 15
- Gosub LABEL006
- Color 7
- Gosub LABEL006
- Color 8
- Gosub LABEL006
- Color 15
- Print " "
- Goto LABEL007
- :LABEL006
- Print "<┤EGiS CoRP'94"
- Delay 2
- Backup 14
- Return
- :LABEL007
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Function FUNCTION002() String
-
- Word WORD012
-
- BOOLEAN002 = 0
- AnsiPos 1, 22
- Print "@X0F"
- Print "@X09MeSSaGE )> "
- STRING004 = ""
- :LABEL008
- PROC009()
- STRING003 = Inkey()
- If (STRING003 <> "") Then
- If (Len(STRING003) < 2) Then
- If (STRING003 == Chr(27)) Then
- BOOLEAN002 = 1
- STRING003 = Chr(13)
- Goto LABEL009
- Endif
- If (STRING003 == Chr(13)) Then
- Goto LABEL009
- Endif
- If ((Asc(STRING003) > 31) && (Len(STRING004) < 50)) Then
- Color 15
- Print STRING003
- STRING004 = STRING004 + STRING003
- Endif
- If (STRING003 == Chr(8)) Then
- If (Len(STRING004) > 0) Then
- Backup 1
- Print "@X07 "
- Backup 1
- STRING004 = Mid(STRING004, 1, Len(STRING004) - 1)
- Endif
- Endif
- Endif
- Endif
- Goto LABEL008
- :LABEL009
- FUNCTION002 = STRING004
-
- EndFunc
-
-
- ;------------------------------------------------------------------------------
-
- Function FUNCTION003() Word
-
- Word WORD013
-
- WORD006 = 1
- PROC006(1)
- While (1) Do
- PROC009()
- If (BOOLEAN001) Then
- PROC006(WORD006)
- BOOLEAN001 = 0
- Endif
- STRING003 = Inkey()
- If (STRING003 == "DOWN") Then
- PROC007(WORD006)
- Inc WORD006
- If (WORD006 > WORD005) WORD006 = 1
- PROC006(WORD006)
- Continue
- Endif
- If (STRING003 == "UP") Then
- PROC007(WORD006)
- Dec WORD006
- If (WORD006 == 0) WORD006 = WORD005
- PROC006(WORD006)
- Continue
- Endif
- If (STRING003 == Chr(13)) Then
- If (TWORD004(WORD006 - 1)) Then
- PROC007(WORD006)
- FUNCTION003 = WORD006
- Break
- Endif
- Continue
- Endif
- If (STRING003 == Chr(27)) Then
- PROC007(WORD006)
- FUNCTION003 = 0
- Break
- Endif
- EndWhile
-
- EndFunc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC007(Word WORD013)
-
- AnsiPos 29, 7 + WORD013
- Print "@X0F" + ScrText(29, 7 + WORD013, 25, 0)
- AnsiPos 1, 23
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC006(Word WORD014)
-
- AnsiPos 29, 7 + WORD014
- Print "@X1F" + ScrText(29, 7 + WORD014, 25, 0)
- AnsiPos 1, 23
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC008()
-
- Cls
- DispFile PPEPath() + "NOBODY", 0 + 4
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC009()
-
- If (Exist(STRING001)) Goto LABEL010
- PROC008()
- End
- :LABEL010
- If (Exist(PPEPath() + "WORK\LOCKED.SEM")) Then
- If (BOOLEAN003) Goto LABEL011
- BOOLEAN003 = 1
- STRING006 = ScrText(35, 7, 6, 1)
- AnsiPos 36, 7
- Print "@X0FLoCKeD"
- AnsiPos 1, 23
- :LABEL011
- ElseIf (BOOLEAN003) Then
- BOOLEAN003 = 0
- AnsiPos 36, 7
- Print STRING006
- AnsiPos 1, 23
- Endif
- If (Exist(STRING001)) Then
- If (Crc32(1, STRING001) <> DWORD001) Then
- DWORD001 = Crc32(1, STRING001)
- WORD005 = FileInf(STRING001, 4) / 2
- PROC001()
- BOOLEAN001 = 1
- For WORD002 = 1 To WORD005
- AnsiPos 25, 7 + WORD002
- If (WORD002 < 10) Then
- Print "@X0F", WORD002
- Goto LABEL012
- Endif
- Print "@X0F" + "0"
- :LABEL012
- AnsiPos 29, 7 + WORD002
- If (TWORD004(WORD002 - 1) <> 0) Then
- RdUNet TWORD004(WORD002 - 1)
- Print FUNCTION001(UN_Name())
- Continue
- Endif
- Print "- "
- Next
- AnsiPos 1, 23
- Goto LABEL013
- Endif
- If (INTEGER001 + 1 < Time()) Then
- AnsiPos 28, 7 + WORD010
- Print "@X0F "
- Inc WORD010
- If (WORD010 > WORD005) WORD010 = 1
- AnsiPos 28, 7 + WORD010
- Print "@X09■"
- INTEGER001 = Time()
- AnsiPos 1, 23
- Endif
- Endif
- :LABEL013
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 5 End
- ; 2 Cls
- ; 2 ClrEol
- ; 8 Color
- ; 64 Goto
- ; 56 Let
- ; 30 Print
- ; 1 PrintLn
- ; 43 If
- ; 2 DispFile
- ; 1 FCreate
- ; 1 FOpen
- ; 1 FAppend
- ; 3 FClose
- ; 3 FPutLn
- ; 1 StartDisp
- ; 1 GetUser
- ; 5 Gosub
- ; 1 Return
- ; 2 Delay
- ; 3 Inc
- ; 1 Dec
- ; 2 RdUNet
- ; 35 AnsiPos
- ; 3 Backup
- ; 1 FSeek
- ; 1 FRead
- ; 7 EndProc
- ; 3 EndFunc
- ;
- ;
- ; ■ Functions used :
- ;
- ; 2 /
- ; 41 +
- ; 8 -
- ; 16 ==
- ; 6 <>
- ; 8 <
- ; 3 <=
- ; 4 >
- ; 6 >=
- ; 37 !
- ; 7 &&
- ; 4 ||
- ; 4 Len(
- ; 1 Upper()
- ; 1 Mid()
- ; 1 Left()
- ; 8 Chr()
- ; 1 Asc()
- ; 3 Time()
- ; 1 U_Name()
- ; 5 Replace()
- ; 3 Inkey()
- ; 2 String()
- ; 6 PPEPath()
- ; 1 PcbNode()
- ; 2 UN_Name()
- ; 4 Exist()
- ; 2 FileInf()
- ; 10 ScrText()
- ; 3 Crc32()
- ; 1 PCBMac()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : No flag
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 3 For/Next
- ; 2 While/EndWhile
- ; 29 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-